package s01;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * @ClassName GenericDemo02
 * @Description 泛型带来了哪些好处
 * @Author Li
 * @Date 2022/8/4 8:59
 * @ModifyDate 2022/8/4 8:59
 * @Version 1.0
 */
public class GenericDemo02 {
    public static void main(String[] args) {
        Collection<String> coll = new ArrayList<>();
        coll.add("abc");
        coll.add("def");
        // 当集合明确类型后，存放类型不一致就会编译报错
        // coll.add(3); //add (java.lang.String) in Collection cannot be applied to (int)
        // 集合明确具体存放元素的类型，那么在使用迭代器的时候，迭代器也同样会知道具体遍历元素的类型
        Iterator<String> it = coll.iterator();
        while (it.hasNext()) {
            // 当使用Iterator<String>控制元素类型后，获取的元素就直接是String类型
            String s = it.next();
            System.out.println(s);
            System.out.println(s.length());
        }
    }
}
